<template>
  <div>
    <div class="search">
      <div class="content">
        <div class="part1">
          <div class="item">
            <span class="name">标题</span>
            <el-input
              v-model="detail.title"
              class="input margin-left"
              placeholder="标题"
              maxlength="20"
              @keyup.enter.native="search"
            />
          </div>
          <div class="searchItem">
            <el-button type="success" round class="search-btn" @click="getList">搜索</el-button>
            <el-button round class="reset-btn" style="margin-left:20px;" @click="reset">重置</el-button>
            <!-- <el-button round class="add" style="margin-left:20px;" @click="$router.push({path:'/member/add',query:{type:2}})">新增</el-button> -->
          </div>
        </div>
      </div>
    </div>
    <div class="table margin-top padding-bottom">
      <el-table
        ref="multipleTable"
        empty-text="暂无数据"
        :data="list"
        style="width: 100%"
        :row-style="{background: '#FCFDFF'}"
        :header-cell-style="{background:'#46705D',color:'#ffffff'}"
        @select-all="handleSelectAll"
        @selection-change="handleSelectionChange"
      >
        <el-table-column
          type="selection"
          width="55"
        />
        <el-table-column fixed type="index" label="序号" :show-overflow-tooltip="true" align="center" />
        <el-table-column label="发布人" :show-overflow-tooltip="true" align="center">
          <template slot-scope="scope">
            <div>{{ scope.row.userName }}</div>
          </template>
        </el-table-column>
        <el-table-column label="评论数" :show-overflow-tooltip="true" align="center">
          <template slot-scope="scope">
            <div>{{ scope.row.commentNum }}</div>
          </template>
        </el-table-column>
		<el-table-column label="点赞数" :show-overflow-tooltip="true" align="center">
		  <template slot-scope="scope">
		    <div>{{ scope.row.goodNum }}</div>
		  </template>
		</el-table-column>
		<el-table-column label="发布时间" :show-overflow-tooltip="true" align="center">
		  <template slot-scope="scope">
		    <div>{{ scope.row.createAt }}</div>
		  </template>
		</el-table-column>
		<el-table-column label="状态" :show-overflow-tooltip="true" align="center">
		  <template slot-scope="scope">
		    <div>{{ scope.row.status }}</div>
		  </template>
		</el-table-column>
        <el-table-column fixed="right" label="操作" :show-overflow-tooltip="true" align="center" width="250">
          <template slot-scope="scope">
            <el-button type="text" size="small" @click="toSee(scope.row)">查看</el-button>
            <el-button type="text" size="small" @click="back(scope.row.id)">打回</el-button>
            <el-button type="text" size="small" @click="ok(scope.row.id)">通过</el-button>
            <el-button type="text" size="small" @click="toDel(scope.row.id)">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pageContain margin-top">
       <!-- <div>
          <el-popover placement="right" trigger="hover" class="more">
            <div class="popover">
              <div class="item hand" @click="editStatusSingles(1)">启用</div>
              <div class="item hand" @click="editStatusSingles(0)">禁用</div>
              <div class="item hand" @click="toDels">删除</div>
            </div>
            <el-button slot="reference" class="moreDo">批量操作</el-button>
          </el-popover>
        </div> -->
		 <div style="flex: 1;text-align: right;">共{{pagination.total}}条</div>
        <el-pagination
          :current-page="pagination.page"
          :page-size="pagination.pageSize"
          :background="true"
          layout="prev, pager, next"
          :total="pagination.total"
          @current-change="handleCurrentChange"
        />
      </div>
    </div>
  </div>
</template>

<script>
import { cmsBbsPostList, bbsPostUpdateStatus,deleteBbsPost } from '@/api/api'
export default {
  data() {
    return {
      list: [],
      pagination: {
        pageSize: 10,
        page: 1,
        total: 0
      },
      detail: {
        postId: this.postId,
        showType: '',
        title: ''
      },
      statusOptions: [
        {
          value: null,
          label: '全部'
        },
        {
          value: 1,
          label: '正常'
        },
        {
          value: 0,
          label: '禁用'
        }],
      ids: []
    }
  },
  created() {
    this.getList()
  },
  methods: {
    toSee(item) {
      this.$router.push({ path: '/Information/see', query: { id: JSON.stringify(item), type: 2 }})
    },
   ok(id){
   		  bbsPostUpdateStatus({
   		    id: id,
   		    status: 1
   		  }).then(data => {
   		    Is.tip('设置成功')
   		    this.getList()
   		  })
   },
   back(id){
   		  this.$prompt('请输入打回理由', '提示', {
   		            confirmButtonText: '确定',
   		            cancelButtonText: '取消'
   		          }).then(({ value }) => {
   					  bbsPostUpdateStatus({
   					    id: id,
   					    status:2,
   						noReason:value,
   					  }).then(data => {
   					    Is.tip('设置成功')
   					    this.getList()
   					  })
   		          }).catch(() => {
   		                 
   		          });
   		 
   },
    reset() {
      this.detail = {
        postId: this.postId,
        showType: '',
        title: ''
      }
      this.pagination = {
        pageSize: 10,
        page: 1,
        total: 0
      }
      this.getList()
    },
    getList() {
      const params = {
        curPage: this.pagination.page,
        pageSize: this.pagination.pageSize,
        name: this.detail.title
      }
      cmsBbsPostList(params).then(({ data }) => {
        this.list = data.records
        this.pagination.total = data.total
		for(var i=0;i<data.records.length;i++){
			switch (data.records[i].status) {
			  case 0:
			     this.list[i].status = '待审核'
			    break
			  case 1:
			     this.list[i].status = '已通过'
			    break
			  case 2:
			     this.list[i].status = '未通过'
			    break
			}
		};
        // this.list = data
      })
    },
    handleSelectAll(selection) {
      this.ids = []
      if (selection.length > 0) {
        selection.forEach(item => {
          this.ids.push(item.id)
        })
      }
    },
    handleCurrentChange(val) {
      // 重置当前页码
      this.pagination.page = val
      this.getList()
    },
    handleSelectionChange(selection) {
      this.ids = []
      if (selection.length > 0) {
        selection.forEach(item => {
          this.ids.push(item.id)
        })
      }
    },
    // 多选删除
    toDels() {
      if (Is.empty(this.ids)) {
        Is.tip('未选择删除项')
        return false
      }
      this.$confirm('确认删除？', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        developersDelete(
          this.ids
        ).then(data => {
          Is.tip('删除成功', 1500, 'success')
          if (this.list.length === this.ids.length && this.pagination.page > 1) {
            this.pagination.page--
          }
          this.getList()
        })
      })
    },
    // 单选删除
    toDel(id) {
      this.$confirm('确认删除？', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteBbsPost(
         {id:id}
        ).then(data => {
          Is.tip('删除成功', 1500, 'success')
          if (this.list.length === 1 && this.pagination.page > 1) {
            this.pagination.page--
          }
          this.getList()
        })
      }).catch((e) => {

      })
    }
  }}
</script>

<style lang="scss" scoped>

</style>
